package com.xxcxcxcx.xc_moremob.common.registers;

import com.xxcxcxcx.xc_moremob.Main;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.basemob.arrow_zombie.ArrowZombieModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.basemob.crawling_zombie.CrawlingZombieModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.desertmob.husk.huskModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.desertmob.husk_rocket.husk_rocketModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.relicmob.husk_rocket_warts.husk_rocket_wartsModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.swampmob.drowned.DrownedModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.forestmob.farm_zombie.FarmZombieModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.desertmob.husk_arrow.husk_arrowModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.basemob.jinny_timi.JinnyTimiModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.basemob.rocket_zombie.RocketZombieModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.bossmob.wizard.wizardModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.taigamob.yeti_zombie.yeti_zombieModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.basemob.zombie.zombieModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.forestmob.zombie_awful.zombie_awfulModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.forestmob.zombie_awful_arrow.zombie_awful_arrowModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.forestmob.zombie_blind.zombie_blindModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.forestmob.zombie_blind_arrow.zombie_blind_arrowModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.savannamob.zombie_broken.zombie_brokenModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.savannamob.zombie_digslow.zombie_digslowModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.savannamob.zombie_digslow_arrow.zombie_digslow_arrowModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.desertmob.zombie_miner.zombie_minerModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.desertmob.zombie_miner_arrow.zombie_miner_arrowModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.taigamob.zombie_north.zombie_northModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.taigamob.zombie_north_arrow.zombie_north_arrowModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.taigamob.zombie_north_rocket.zombie_north_rocketModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.savannamob.zombie_swamp.zombie_swampModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.savannamob.zombie_swamp_arrow.zombie_swamp_arrowModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.forestmob.zombie_wither.zombie_witherModel;
import com.xxcxcxcx.xc_moremob.common.entities.common_mob.forestmob.zombie_wither_arrow.zombie_wither_arrowModel;
import com.xxcxcxcx.xc_moremob.common.entities.monster.models.*;
import net.minecraft.world.item.Item;
import net.minecraftforge.common.ForgeSpawnEggItem;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;

import java.awt.*;

public class ItemRegister {
    public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, Main.MOD_ID);
    //刷怪蛋格式:ForgeSpawnEggItem(生物类,颜色1,颜色2,放在哪个物品栏)
    public static final RegistryObject<Item> MELEE_BASIC_EGG = ITEMS.register(MeleeBasicModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.MELEE_BASIC, 4578765, 2325548, new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> FLYING_RANGE_BASIC_EGG = ITEMS.register(FlyRemoteBasicModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.FLY_REMOTE_BASIC, 4578765, 2325548, new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> REMOTE_BASIC_EGG = ITEMS.register(RemoteBasicModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.REMOTE_BASIC, 1234578, 4567869, new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> WITCH_BASIC_EGG = ITEMS.register(WitchBasicModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.WITCH_BASIC, 456789, 1893483, new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> FLY_MELEE_BASIC_EGG = ITEMS.register(FlyMeleeBasicModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.FLY_MELEE_BASIC, 4545129, 183483, new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> SKILL_BASIC_EGG = ITEMS.register(SkillBasicModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.SKILL_BASIC, 5678978, 2132457, new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> Farm_Zombie_EGG = ITEMS.register(FarmZombieModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.Farm_Zombie, 5678978, 1231241, new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> Arrow_Zombie_EGG = ITEMS.register(ArrowZombieModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.Arrow_Zombie, 1231241, 123123, new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> Rocket_Zombie_EGG = ITEMS.register(RocketZombieModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.Rocket_Zombie, 98157, 1, new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> Jinny_Timi_EGG = ITEMS.register(JinnyTimiModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.Jinny_Timi, 203201, 103204, new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> Drowned_EGG = ITEMS.register(DrownedModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.Drowned, Color.ORANGE.hashCode(), Color.YELLOW.hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> CrawlingZombie_EGG = ITEMS.register(CrawlingZombieModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.CrawlingZombie, Color.MAGENTA.hashCode(), Color.YELLOW.hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> husk_arrow_EGG = ITEMS.register(husk_arrowModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.husk_arrow, Color.ORANGE.hashCode(), Color.white.hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> yeti_zombie_EGG = ITEMS.register(yeti_zombieModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.yeti_zombie, Color.white.hashCode(), Color.white.hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> zombie_broken_EGG = ITEMS.register(zombie_brokenModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.zombie_broken, Color.getHSBColor(60,60,60).hashCode(), Color.white.hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> zombie_miner_EGG = ITEMS.register(zombie_minerModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.zombie_miner, Color.getHSBColor(60,60,60).hashCode(), Color.white.hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> zombie_miner_arrow_EGG = ITEMS.register(zombie_miner_arrowModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.zombie_miner_arrow, Color.getHSBColor(60,60,60).hashCode(), Color.getHSBColor(250,10,125).hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> zombie_north_arrow_EGG = ITEMS.register(zombie_north_arrowModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.zombie_north_arrow, Color.getHSBColor(124,124,124).hashCode(), Color.getHSBColor(250,10,125).hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> zombie_north_rocket_EGG = ITEMS.register(zombie_north_rocketModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.zombie_north_rocket, Color.getHSBColor(124,124,124).hashCode(), Color.getHSBColor(250,10,125).hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> wizard_EGG = ITEMS.register(wizardModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.wizard, Color.getHSBColor(124,124,124).hashCode(), Color.getHSBColor(250,10,125).hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> zombie_north_EGG = ITEMS.register(zombie_northModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.zombie_north, Color.getHSBColor(124,124,124).hashCode(), Color.getHSBColor(250,10,125).hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> zombie_awful_EGG = ITEMS.register(zombie_awfulModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.zombie_awful, Color.getHSBColor(124,124,124).hashCode(), Color.getHSBColor(250,10,125).hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> zombie_wither_EGG = ITEMS.register(zombie_witherModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.zombie_wither, Color.getHSBColor(124,124,124).hashCode(), Color.getHSBColor(250,10,125).hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> zombie_digslow_EGG = ITEMS.register(zombie_digslowModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.zombie_digslow, Color.getHSBColor(124,124,124).hashCode(), Color.getHSBColor(250,10,125).hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> zombie_blind_EGG = ITEMS.register(zombie_blindModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.zombie_blind, Color.getHSBColor(124,124,124).hashCode(), Color.getHSBColor(250,10,125).hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> zombie_swamp_EGG = ITEMS.register(zombie_swampModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.zombie_swamp, Color.getHSBColor(124,124,124).hashCode(), Color.getHSBColor(250,10,125).hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> zombie_awful_arrow_EGG = ITEMS.register(zombie_awful_arrowModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.zombie_awful_arrow, Color.getHSBColor(124,124,124).hashCode(), Color.getHSBColor(250,10,125).hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> zombie_wither_arrow_EGG = ITEMS.register(zombie_wither_arrowModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.zombie_wither_arrow, Color.getHSBColor(124,124,124).hashCode(), Color.getHSBColor(250,10,125).hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> zombie_digslow_arrow_EGG = ITEMS.register(zombie_digslow_arrowModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.zombie_digslow_arrow, Color.getHSBColor(124,124,124).hashCode(), Color.getHSBColor(250,10,125).hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> zombie_blind_arrow_EGG = ITEMS.register(zombie_blind_arrowModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.zombie_blind_arrow, Color.getHSBColor(124,124,124).hashCode(), Color.getHSBColor(250,10,125).hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> zombie_swamp_arrow_EGG = ITEMS.register(zombie_swamp_arrowModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.zombie_swamp_arrow, Color.getHSBColor(124,124,124).hashCode(), Color.getHSBColor(250,10,125).hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> zombie_EGG = ITEMS.register(zombieModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.zombie, Color.getHSBColor(124,124,124).hashCode(), Color.getHSBColor(250,10,125).hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> husk_rocket_EGG = ITEMS.register(husk_rocketModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.husk_rocket, Color.getHSBColor(124,124,124).hashCode(), Color.getHSBColor(250,10,125).hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> husk_EGG = ITEMS.register(huskModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.husk, Color.getHSBColor(124,124,124).hashCode(), Color.getHSBColor(250,10,125).hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));
    public static final RegistryObject<Item> husk_rocket_warts_EGG = ITEMS.register(husk_rocket_wartsModel.name+"_spawn_egg",
            () -> new ForgeSpawnEggItem(EntityRegister.husk_rocket_warts, Color.getHSBColor(124,124,124).hashCode(), Color.getHSBColor(250,10,125).hashCode(), new Item.Properties().tab(Main.AnimalRemakeTab)));

}
